package org.zhenggn.designpattern.chain;

/**
 * 职责的接口，也就是处理请求的接口
 * 考虑这样一个功能：申请聚餐费用的管理，对于聚餐费用的申请，要求处理的逻辑步骤是灵活的。
 * Created by zhenggn on 2017/5/3.
 */
public abstract class Handler {

    /**
     * 持有后继的职责对象
     */
    private Handler successor = null;

    /**
     * 处理
     * @param user
     * @param fee
     * @return
     */
    public abstract String handleFeeRequest(String user,double fee);

    /**
     * 设置后继者
     *
     * @param successor 后继者
     */
    public void setSuccessor(Handler successor) {
        this.successor = successor;
    }

    /**
     * 获取后继者
     *
     * @return 后继者
     */
    protected Handler getSuccessor() {
        return this.successor;
    }

}


